# Executor

# Executor depends on execserver library (xscore)
include_directories(../execserver)

set(XECORE_SRCS
	xeBatchExecutor.cpp
	xeBatchExecutor.hpp
	xeBatchResult.cpp
	xeBatchResult.hpp
	xeCallQueue.cpp
	xeCallQueue.hpp
	xeCommLink.cpp
	xeCommLink.hpp
	xeContainerFormatParser.cpp
	xeContainerFormatParser.hpp
	xeDefs.cpp
	xeDefs.hpp
	xeLocalTcpIpLink.cpp
	xeLocalTcpIpLink.hpp
	xeTcpIpLink.cpp
	xeTcpIpLink.hpp
	xeTestCase.cpp
	xeTestCase.hpp
	xeTestCaseListParser.cpp
	xeTestCaseListParser.hpp
	xeTestCaseResult.cpp
	xeTestCaseResult.hpp
	xeTestLogParser.cpp
	xeTestLogParser.hpp
	xeTestLogWriter.cpp
	xeTestLogWriter.hpp
	xeTestResultParser.cpp
	xeTestResultParser.hpp
	xeXMLParser.cpp
	xeXMLParser.hpp
	xeXMLWriter.cpp
	xeXMLWriter.hpp
	)

set(XECORE_LIBS
	xscore
	decpp
	deutil
	dethread
	debase
	)

add_library(xecore STATIC ${XECORE_SRCS})
target_link_libraries(xecore ${XECORE_LIBS})

include_directories(.)

if (DE_OS_IS_WIN32 OR DE_OS_IS_UNIX OR DE_OS_IS_OSX OR DE_OS_IS_ANDROID)
	add_executable(executor tools/xeCommandLineExecutor.cpp)
	target_link_libraries(executor xecore)
endif ()

if (DE_OS_IS_WIN32 OR DE_OS_IS_UNIX OR DE_OS_IS_OSX)
	add_executable(testlog-to-csv tools/xeTestLogCompare.cpp)
	target_link_libraries(testlog-to-csv xecore)

	add_executable(testlog-to-xml tools/xeBatchResultToXml.cpp)
	target_link_libraries(testlog-to-xml xecore)

	add_executable(testlog-to-junit tools/xeBatchResultToJUnit.cpp)
	target_link_libraries(testlog-to-junit xecore)

	add_executable(extract-values tools/xeExtractValues.cpp)
	target_link_libraries(extract-values xecore)

	add_executable(extract-shader-programs tools/xeExtractShaderPrograms.cpp)
	target_link_libraries(extract-shader-programs xecore)

	add_executable(merge-testlogs tools/xeMergeTestLogs.cpp)
	target_link_libraries(merge-testlogs xecore)

	add_executable(extract-sample-lists tools/xeExtractSampleLists.cpp)
	target_link_libraries(extract-sample-lists xecore)
endif ()
